﻿using System.Collections.Generic;
using DataScripter.Database;
using DataScripter.Scripting.Filters;

namespace DataScripter.Scripting
{
    public interface ITableScriptRequest
    {
        string TableName { get; }
        int RequestOrder { get; }

        ITableStructure TableStructure { get; set; }
        IDictionary<string, ITableFilter> Filters { get; }
        string UsedQuery { get; set; }
        IDictionary<string, ISpecialFieldTreatment> SpecialFieldTreatments { get; }
        string ProduceFilter();
        string ProduceWhereClause();
    }
}